package com.cya.lotterysystem.service;

import com.cya.lotterysystem.controller.param.CreateActivityParam;
import com.cya.lotterysystem.controller.param.PageParam;
import com.cya.lotterysystem.service.dto.ActivityDTO;
import com.cya.lotterysystem.service.dto.ActivityDetailDTO;
import com.cya.lotterysystem.service.dto.CreateActivityDTO;
import com.cya.lotterysystem.service.dto.PageListDTO;

import java.util.List;

/**
 * @author ：陈奕安（3048279304@qq.com）
 * @date ：Created in 2025/11/3 15:57
 * @description：
 * @modified By：
 * @version:
 */
public interface ActivityService {

    /**
     * 创建活动
     * @param param
     * @return
     */
    CreateActivityDTO CreateActivity(CreateActivityParam param);

    /**
     * 翻页查询活动（摘要）列表
     * @param param
     * @return
     */
    PageListDTO<ActivityDTO> findActivityList(PageParam param);

    /**
     * 保存活动详细属性
     * @param activityId
     * @return
     */
    ActivityDetailDTO getActivityDetail(Long activityId);

    /**
     * 缓存活动详细信息（读取表数据，再缓存）
     * @param activityId
     */
    void cacheActivity(Long activityId);

}